﻿/****************************************************************************/
/*											                                */
/* Clase : Persona      							                        */
/* Autor : Marc Esteve Fernández					                        */
/* Descripción: Persona generica que puede ser presidente, secreatario,     */
/* inspector o sup. circuito.                                               */
/* 											                                */
/****************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CRC.Inspecciones.Dominio.Clases;

namespace CRC.GestionSalones.Dominio.Clases
{
    public class Persona
    {
        private int intId;
        private string strNombre;
        private string strApellido1;
        private string strApellido2;
        private string strTelefonoFijo; // Pendiente de pasar a entero
        private string strTelefonoMovil1; // Pendiente de pasar a entero
        private string strTelefonoMovil2; //Pendiente de eliminar
        private string strEmail;
        private Boolean bEsInspector = false;

       
        //private Zona zona;
        private TipoPersona tipo;

        /* Constructor por defecto*/
        public Persona()
        { 
        }

        public Persona(
            string pstrNombre,
            string pstrAp1,
            string pstrAp2,
            string pstrFijo,
            string pstrMovil1,
            string pstrMovil2,
            string pstrEmail,
            TipoPersona pTipo
        )
        {
            this.strNombre = pstrNombre;
            this.strApellido1 = pstrAp1;
            this.strApellido2 = pstrAp2;
            this.strTelefonoFijo = pstrFijo;
            this.strTelefonoMovil1 = pstrMovil1;
            this.strTelefonoMovil2 = pstrMovil2;
            this.strEmail = pstrEmail;
            this.tipo = pTipo;
        }

        public virtual int Id
        {
            get { return intId; }
            set { intId = value; }
        }

        public virtual string Nombre
        {
            get { return strNombre; }
            set { strNombre = value; }
        }

        public virtual string Apellido1
        {
            get { return strApellido1; }
            set { strApellido1 = value; }
        }

        public virtual string Apellido2
        {
            get { return strApellido2; }
            set { strApellido2 = value; }
        }

        public virtual string TelefonoFijo
        { 
            get { return strTelefonoFijo; }
            set { strTelefonoFijo = value; }
        }

        public virtual string TelefonoMovil1
        {
            get { return strTelefonoMovil1; }
            set { strTelefonoMovil1 = value; }
        }

        public virtual string TelefonoMovil2
        {
            get { return strTelefonoMovil2; }
            set { strTelefonoMovil2 = value; }
        }

        public virtual string Email
        {
            get { return strEmail; }
            set { strEmail = value; }
        }

        //public virtual Zona ZonaAsignada
        //{
        //    get { return this.zona; }
        //    set { this.zona = value; }
        //}

        public virtual TipoPersona Tipo
        {
            get { return this.tipo; }
            set { this.tipo = value; }
        }

        public virtual Boolean EsInspector
        {
            get { return bEsInspector; }
            set { bEsInspector = value; }
        }

        //nombre completo derivado
        public virtual string NombreCompleto
        {  
            get { return strNombre + " " + strApellido1 + " " + strApellido2; }
        }

    }
}
